home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr13
/
golisp.zip
/
LEAD.LSP
< prev
next >
Wrap
Text File
|
1995-01-20
|
2KB
|
52 lines
;Draws a leader line and allows entry of multiple lines of text
;Bob Zelna
(DEFUN C:LEAD (/ ?m@ ?ml ?m& ?m1 ?m0 ENT SS N
SIDE? FIRSTPT SECNDPT INSRTPT CONSTT)
(SETQ SS (SSADD))
(SETQ ?m@(GETPOINT"\nLeader start: ")
?ml(GETPOINT ?m@"\nTo point: ")
?m1(*(GETVAR"DIMSCALE")(GETVAR"DIMASZ"))
*NL* 1
)
(IF(>=(DISTANCE ?m@ ?ml)(* 2.0(GETVAR"DIMASZ")))
(PROGN
(COMMAND"INSERT""*ARROW"?m@ ?m1 (+(/(* (ANGLE ?m@ ?ml)180.0)PI)180.0))
(SETQ ENT (ENTLAST))
(COMMAND "CHANGE" ENT "" "P" "LAYER" "D" "")
(SSADD ENT SS)
)
)
(COMMAND"LINE"?m@ ?ml"")
(SETQ ENT (ENTLAST))
(SSADD ENT SS)
(WHILE(/=(SETQ ?m&(GETPOINT ?ml"\nTo point: "))NIL)
(COMMAND"LINE"?ml ?m&"")
(SETQ *NL*(1+ *NL*)
FIRSTPT ?ml
SECNDPT ?m&
?ml ?m&
)
)
(SETQ CONSTT (* (GETVAR"DIMSCALE")(GETVAR"DIMTXT"))
SECNDPT (REVERSE (LIST (- (CADR SECNDPT)(* CONSTT 0.5))
(CAR SECNDPT)
)
)
)
(COND ((> (CAR FIRSTPT)(CAR SECNDPT))
(SETQ INSRTPT (CONS (- (CAR SECNDPT) (* CONSTT (/ 2.0 3)))
(CDR SECNDPT))
SIDE? "R")
)
((< (CAR FIRSTPT)(CAR SECNDPT))
(SETQ INSRTPT (CONS (+ (CAR SECNDPT) (* CONSTT (/ 2.0 3)))
(CDR SECNDPT)))
(SETQ SIDE? "L"))
)
(IF (= SIDE? "L")
(COMMAND "DTEXT" INSRTPT CONSTT "0")
(COMMAND "DTEXT" SIDE? INSRTPT CONSTT "0")
)
)